package pri.ydy.serviceBase.exceptionhandler;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import pri.ydy.commonUtils.R;

/**
 * @author Ydy
 * @date 2020/9/25 - 16:24
 */
@ControllerAdvice //异常处理类标记
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)   //所有异常
    @ResponseBody           //返回json格式数据
    public R error(Exception e){
        e.printStackTrace();
        return R.error().message("执行了全局异常处理");
    }


    //特定异常
    @ExceptionHandler(ArithmeticException.class)   //所有异常
    @ResponseBody           //返回json格式数据
    public R error(ArithmeticException e){
        e.printStackTrace();
        return R.error().message("执行了ArithmeticException异常处理");
    }

    //自定义异常
    @ExceptionHandler(GuliException.class)   //所有异常
    @ResponseBody           //返回json格式数据
    public R error(GuliException e){
        e.printStackTrace();
        return R.error().code(e.getCode()).message(e.getMsg());
    }



}
